package com.letv.whatslive.model.convert;

import com.letv.whatslive.model.PaikeAnchor;
import com.letv.whatslive.model.utils.ObjUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;

/**
 * Created by shenyue on 16-6-14.
 */
public class PaikeAnchorConvert {

    public static DBObject castPaikeAnchorToDBObject(PaikeAnchor paikeAnchor) {
        DBObject dbo = new BasicDBObject();
        if (paikeAnchor.getId() != null) {
            dbo.put("_id", paikeAnchor.getId());
        }
        if (paikeAnchor.getUserId() != null) {
            dbo.put("userId", paikeAnchor.getUserId());
        }
        if (paikeAnchor.getPaikeSociatyId() != null) {
            dbo.put("paikeSociatyId", paikeAnchor.getPaikeSociatyId());
        }
        dbo.put("anchorName", ObjUtils.ifNull(paikeAnchor.getAnchorName(), ""));
        dbo.put("nickName", ObjUtils.ifNull(paikeAnchor.getNickName(), ""));
        if (paikeAnchor.getSex() != null) {
            dbo.put("sex", paikeAnchor.getSex());
        }
        dbo.put("mobilePhone", ObjUtils.ifNull(paikeAnchor.getMobilePhone(), ""));
        dbo.put("email", ObjUtils.ifNull(paikeAnchor.getEmail(), ""));
        dbo.put("createTime", ObjUtils.toLong(paikeAnchor.getCreateTime(), System.currentTimeMillis()));
        dbo.put("updateTime", ObjUtils.toLong(paikeAnchor.getUpdateTime(), System.currentTimeMillis()));
        dbo.put("qqId",ObjUtils.toString(paikeAnchor.getQqId(), ""));
        dbo.put("weixinId",ObjUtils.toString(paikeAnchor.getWeixinId(),""));
        dbo.put("province", ObjUtils.ifNull(paikeAnchor.getProvince(), ""));
        dbo.put("city", ObjUtils.ifNull(paikeAnchor.getCity(), ""));
        dbo.put("district", ObjUtils.ifNull(paikeAnchor.getDistrict(), ""));
        if (paikeAnchor.getBankId() != null) {
            dbo.put("bankId", paikeAnchor.getBankId());
        }
        dbo.put("bankCardNo", ObjUtils.ifNull(paikeAnchor.getBankCardNo(), ""));
        dbo.put("idCardNo", ObjUtils.ifNull(paikeAnchor.getIdCardNo(), ""));
        dbo.put("idCardPicture",paikeAnchor.getIdCardPicture());
        if(paikeAnchor.getCreateByPersonLoginName()!=null)
            dbo.put("createByPersonLoginName",ObjUtils.toString(paikeAnchor.getCreateByPersonLoginName()));
        dbo.put("alipayId",ObjUtils.toString(paikeAnchor.getAlipayId(),""));
        dbo.put("itemSharecroppingPercent",ObjUtils.toDouble(paikeAnchor.getItemSharecroppingPercent()));
        dbo.put("hasBasePay",ObjUtils.toInteger(paikeAnchor.getHasBasePay()));
        return dbo;
    }

    public static PaikeAnchor castDBObjectToPaikeAnchor(DBObject dbObject){
        if(dbObject != null) {
            PaikeAnchor paikeAnchor = new PaikeAnchor();
            paikeAnchor.setId(ObjUtils.toLong(dbObject.get("_id")));
            paikeAnchor.setUserId(ObjUtils.toLong(dbObject.get("userId")));
            paikeAnchor.setPaikeSociatyId(ObjUtils.toLong(dbObject.get("paikeSociatyId")));
            paikeAnchor.setAnchorName(ObjUtils.toString(dbObject.get("anchorName"), ""));
            paikeAnchor.setNickName(ObjUtils.toString(dbObject.get("nickName")));
            paikeAnchor.setSex(ObjUtils.toInteger(dbObject.get("sex")));
            paikeAnchor.setCreateTime(ObjUtils.toLong(dbObject.get("createTime")));
            paikeAnchor.setUpdateTime(ObjUtils.toLong(dbObject.get("updateTime")));
            paikeAnchor.setQqId(ObjUtils.toString(dbObject.get("qqId"), ""));
            paikeAnchor.setWeixinId(ObjUtils.toString(dbObject.get("weixinId"), ""));
            paikeAnchor.setProvince(ObjUtils.toString(dbObject.get("province"), ""));
            paikeAnchor.setCity(ObjUtils.toString(dbObject.get("city"), ""));
            paikeAnchor.setDistrict(ObjUtils.toString(dbObject.get("district"), ""));
            paikeAnchor.setBankCardNo(ObjUtils.toString(dbObject.get("bankCardNo"), ""));
            paikeAnchor.setIdCardNo(ObjUtils.toString(dbObject.get("idCardNo"), ""));
            paikeAnchor.setIdCardPicture(ObjUtils.toString(dbObject.get("idCardPicture"), ""));
            paikeAnchor.setEmail(ObjUtils.toString(dbObject.get("email"), ""));
            paikeAnchor.setMobilePhone(ObjUtils.toString(dbObject.get("mobilePhone"), ""));
            paikeAnchor.setBankId(ObjUtils.toLong(dbObject.get("bankId")));
            paikeAnchor.setCreateByPersonLoginName(ObjUtils.toString(dbObject.get("createByPersonLoginName")));
            paikeAnchor.setAlipayId(ObjUtils.toString(dbObject.get("alipayId"), ""));
            paikeAnchor.setItemSharecroppingPercent(ObjUtils.toDouble(dbObject.get("itemSharecroppingPercent")));
            paikeAnchor.setHasBasePay(ObjUtils.toInteger(dbObject.get("hasBasePay")));
            return paikeAnchor;
        }else{
            return null;
        }

    }
}
